package com.shensi.api.admin.domian.customer.dto;

import com.shensi.common.core.annotation.Excel;
import com.shensi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.List;

/**
 * 客户电子会员卡充值优惠设置对象 customer_card_setting
 *
 * @author qujia
 * @date 2021-04-06
 */
public class CustomerCardSettingDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 电子充值卡油类类型：1.柴油；2.汽油；
     */
    @Excel(name = "电子充值卡油类类型：1.柴油；2.汽油；")
    private String cardOilsType;

    /**
     * 会员活动设置（0.禁用，1.启用）
     */
    @Excel(name = "会员活动设置", readConverterExp = "0=.禁用，1.启用")
    private String discountTimeSetting;

    /**
     * 会员日活动时间
     */
    @Excel(name = "会员日活动时间")
    private String discountTime;
    private String discountTimeType;
    private String startTime;
    private String endTime;

    /**
     * 赠送比例
     */
    @Excel(name = "赠送比例")
    private String presentScale;

    /**
     * 是否可以使用优惠券：0，否；1，是
     */
    @Excel(name = "是否可以使用优惠券：0，否；1，是")
    private String isDiscountCoupon;

    /**
     * 积分可享受倍数
     */
    @Excel(name = "积分可享受倍数")
    private String enjoyIntegralMultiple;

    /**
     * 油站ID
     */
    private Long stationId;

    private String StationName;

    private String isGradeSetting;

    private String isMarket;

    private String delFlag;
    private String cardEnabledFlag;
    private String isLabel;

    /**
     * 积分倍数
     */
    private Integer intergralMultiple;

    /**
     * 油企id
     */
    private Long enterpriseId;


    private String gasolineRule;

    private String dieselOilRule;
    private String LNGRule;
    private String CNGRule;


    private List<String> gasolineRuleList;

    private List<String> dieselOilRuleList;
    private List<String> LNGRuleList;
    private List<String> CNGRuleList;
    private List<String> cardOilsTypeList;
    private List<String> collectClickDay;
    private List<String> collectClickCalendar;


    //  汽油柴油lng cng  的最低充值金额
    private BigDecimal gasolineMinAmt;

    private BigDecimal dieselMinAmt;
    private BigDecimal lngMinAmt;
    private BigDecimal cngMinAmt;

    /**
     * 电子卡使用范围
     * 1-单站通用，2-多站使用
     */
    private String cardUseRangeFlag;

    //自定义提示金额
    private String customRemindAmount;

    /**
     * 手动进行余额变动微信推送通知开关，仅限手动增加，手动扣减操作
     * 0-不推送 1-推送
     */
    private String manualChangeWxNotifyFlag;

    /**
     * 通用卡最低充值金额
     */
    private BigDecimal genericMinAmt;

    public String getCustomRemindAmount() {
        return customRemindAmount;
    }

    public void setCustomRemindAmount(String customRemindAmount) {
        this.customRemindAmount = customRemindAmount;
    }

    public BigDecimal getLngMinAmt() {
        return lngMinAmt;
    }

    public void setLngMinAmt(BigDecimal lngMinAmt) {
        this.lngMinAmt = lngMinAmt;
    }

    public BigDecimal getCngMinAmt() {
        return cngMinAmt;
    }

    public void setCngMinAmt(BigDecimal cngMinAmt) {
        this.cngMinAmt = cngMinAmt;
    }

    public BigDecimal getGasolineMinAmt() {
        return gasolineMinAmt;
    }

    public void setGasolineMinAmt(BigDecimal gasolineMinAmt) {
        this.gasolineMinAmt = gasolineMinAmt;
    }

    public BigDecimal getDieselMinAmt() {
        return dieselMinAmt;
    }

    public void setDieselMinAmt(BigDecimal dieselMinAmt) {
        this.dieselMinAmt = dieselMinAmt;
    }

    public List<String> getCollectClickDay() {
        return collectClickDay;
    }

    public void setCollectClickDay(List<String> collectClickDay) {
        this.collectClickDay = collectClickDay;
    }

    public List<String> getCollectClickCalendar() {
        return collectClickCalendar;
    }

    public void setCollectClickCalendar(List<String> collectClickCalendar) {
        this.collectClickCalendar = collectClickCalendar;
    }

    public List<String> getGasolineRuleList() {
        return gasolineRuleList;
    }

    public void setGasolineRuleList(List<String> gasolineRuleList) {
        this.gasolineRuleList = gasolineRuleList;
    }

    public List<String> getDieselOilRuleList() {
        return dieselOilRuleList;
    }

    public void setDieselOilRuleList(List<String> dieselOilRuleList) {
        this.dieselOilRuleList = dieselOilRuleList;
    }

    public List<String> getLNGRuleList() {
        return LNGRuleList;
    }

    public void setLNGRuleList(List<String> LNGRuleList) {
        this.LNGRuleList = LNGRuleList;
    }

    public List<String> getCNGRuleList() {
        return CNGRuleList;
    }

    public void setCNGRuleList(List<String> CNGRuleList) {
        this.CNGRuleList = CNGRuleList;
    }

    public List<String> getCardOilsTypeList() {
        return cardOilsTypeList;
    }

    public void setCardOilsTypeList(List<String> cardOilsTypeList) {
        this.cardOilsTypeList = cardOilsTypeList;
    }

    public String getGasolineRule() {
        return gasolineRule;
    }

    public void setGasolineRule(String gasolineRule) {
        this.gasolineRule = gasolineRule;
    }

    public String getDieselOilRule() {
        return dieselOilRule;
    }

    public void setDieselOilRule(String dieselOilRule) {
        this.dieselOilRule = dieselOilRule;
    }

    public String getLNGRule() {
        return LNGRule;
    }

    public void setLNGRule(String LNGRule) {
        this.LNGRule = LNGRule;
    }

    public String getCNGRule() {
        return CNGRule;
    }

    public void setCNGRule(String CNGRule) {
        this.CNGRule = CNGRule;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Integer getIntergralMultiple() {
        return intergralMultiple;
    }

    public void setIntergralMultiple(Integer intergralMultiple) {
        this.intergralMultiple = intergralMultiple;
    }

    public String getIsLabel() {
        return isLabel;
    }

    public void setIsLabel(String isLabel) {
        this.isLabel = isLabel;
    }

    public String getCardEnabledFlag() {
        return cardEnabledFlag;
    }

    public void setCardEnabledFlag(String cardEnabledFlag) {
        this.cardEnabledFlag = cardEnabledFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getIsGradeSetting() {
        return isGradeSetting;
    }

    public void setIsGradeSetting(String isGradeSetting) {
        this.isGradeSetting = isGradeSetting;
    }

    public String getIsMarket() {
        return isMarket;
    }

    public void setIsMarket(String isMarket) {
        this.isMarket = isMarket;
    }

    public String getDiscountTimeType() {
        return discountTimeType;
    }

    public void setDiscountTimeType(String discountTimeType) {
        this.discountTimeType = discountTimeType;
    }

    private List<CustomerCardSettingDetailDto> detailList;

    public List<CustomerCardSettingDetailDto> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<CustomerCardSettingDetailDto> detailList) {
        this.detailList = detailList;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setCardOilsType(String cardOilsType) {
        this.cardOilsType = cardOilsType;
    }

    public String getCardOilsType() {
        return cardOilsType;
    }

    public void setDiscountTimeSetting(String discountTimeSetting) {
        this.discountTimeSetting = discountTimeSetting;
    }

    public String getDiscountTimeSetting() {
        return discountTimeSetting;
    }

    public void setDiscountTime(String discountTime) {
        this.discountTime = discountTime;
    }

    public String getDiscountTime() {
        return discountTime;
    }

    public void setPresentScale(String presentScale) {
        this.presentScale = presentScale;
    }

    public String getPresentScale() {
        return presentScale;
    }

    public void setIsDiscountCoupon(String isDiscountCoupon) {
        this.isDiscountCoupon = isDiscountCoupon;
    }

    public String getIsDiscountCoupon() {
        return isDiscountCoupon;
    }

    public void setEnjoyIntegralMultiple(String enjoyIntegralMultiple) {
        this.enjoyIntegralMultiple = enjoyIntegralMultiple;
    }

    public String getEnjoyIntegralMultiple() {
        return enjoyIntegralMultiple;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public Long getStationId() {
        return stationId;
    }

    public String getStationName() {
        return StationName;
    }

    public void setStationName(String stationName) {
        StationName = stationName;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    @Override
    public String getEndTime() {
        return endTime;
    }

    @Override
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getCardUseRangeFlag() {
        return cardUseRangeFlag;
    }

    public void setCardUseRangeFlag(String cardUseRangeFlag) {
        this.cardUseRangeFlag = cardUseRangeFlag;
    }

    public String getManualChangeWxNotifyFlag() {
        return manualChangeWxNotifyFlag;
    }

    public void setManualChangeWxNotifyFlag(String manualChangeWxNotifyFlag) {
        this.manualChangeWxNotifyFlag = manualChangeWxNotifyFlag;
    }

    public BigDecimal getGenericMinAmt() {
        return genericMinAmt;
    }

    public void setGenericMinAmt(BigDecimal genericMinAmt) {
        this.genericMinAmt = genericMinAmt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("cardOilsType", getCardOilsType())
                .append("discountTimeSetting", getDiscountTimeSetting())
                .append("discountTime", getDiscountTime())
                .append("discountTimeType", getDiscountTimeType())
                .append("presentScale", getPresentScale())
                .append("isDiscountCoupon", getIsDiscountCoupon())
                .append("enjoyIntegralMultiple", getEnjoyIntegralMultiple())
                .append("stationId", getStationId())
                .append("createTime", getCreateTime())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .toString();
    }
}
